Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.

...powered by www.netzwerkartist.de...

 << zurück
Visual C# 2005 von Andreas Kühnel
Das umfassende Handbuch
Buch: Visual C# 2005

Visual C# 2005
1.320 S., mit 2 CDs, 59,90 Euro
Galileo Computing
ISBN 3-89842-586-X
gp Kapitel 16 Die wichtigsten Steuerelemente
  gp 16.1 Gemeinsame Eigenschaften, Methoden und Ereignisse
    gp 16.1.1 Größe und Position
    gp 16.1.2 Die Sichtbarkeit und der Aktivierungszustand
    gp 16.1.3 Die Eigenschaft »Text«
    gp 16.1.4 Die Farbeigenschaften
    gp 16.1.5 Grafische Darstellung
    gp 16.1.6 Die »Modifiers«-Eigenschaft
    gp 16.1.7 Die Eigenschaft »Tag«
    gp 16.1.8 Die Größe von Steuerelementen dynamisch der Formgröße anpassen
    gp 16.1.9 Die »Dock«-Eigenschaft
    gp 16.1.10 Die z-Reihenfolge
    gp 16.1.11 Die Tabulatorreihenfolge
    gp 16.1.12 Steuerelemente fokussieren
    gp 16.1.13 Maus- und Tastaturereignisse
  gp 16.2 Schaltflächen der Klasse »Button«
    gp 16.2.1 Die Rahmendarstellung einer Schaltfläche
    gp 16.2.2 Die Eigenschaft »FlatAppearance«
    gp 16.2.3 Beschriftung und Grafiken
    gp 16.2.4 Weitere Gestaltungsmöglichkeiten
  gp 16.3 Auswahlkästchen mit der Klasse »CheckBox«
    gp 16.3.1 Eigenschaften eines Kontrollkästchens
    gp 16.3.2 Checkboxen mit drei Aktivierungszuständen
  gp 16.4 Die Klasse »RadioButton« (Optionsschaltflächen)
    gp 16.4.1 Die Gruppierung der Optionsschaltflächen
    gp 16.4.2 Die Eigenschaften von Optionsschaltflächen
    gp 16.4.3 Den Zustandswechsel programmieren
  gp 16.5 Die »GroupBox« als übergeordneter Container
  gp 16.6 Texteingabefelder mit der Klasse »TextBox«
    gp 16.6.1 Einzeilige Eingabefelder
    gp 16.6.2 Mehrzeilige Eingabefelder
  gp 16.7 Das Steuerelement »RichTextBox«
  gp 16.8 Beschriftungen mit dem Steuerelement »Label«
  gp 16.9 Das »LinkLabel«-Steuerelement
  gp 16.10 Die Anzeige eines Quickinfo-Texts
    gp 16.10.1 Methoden des »ToolTip«-Steuerelements
    gp 16.10.2 Aktivierungsdauer des »QuickInfo«-Steuerelements
    gp 16.10.3 Weitere Eigenschaften
  gp 16.11 Das »ListBox«-Steuerelement
    gp 16.11.1 Die Auflistung »ListBox.ObjectCollection«
    gp 16.11.2 Eigenschaften zur Darstellung einer Listbox
    gp 16.11.3 Einfach- und Mehrfachauswahl der Listenelemente
    gp 16.11.4 Programmatischer Zugriff auf Listboxen mit Einfachauswahl
    gp 16.11.5 Benutzerdefiniertes Sortieren der Listenelemente
    gp 16.11.6 Füllen einer Listbox mit »DataSource«
  gp 16.12 Das Steuerelement »CheckedListBox«
  gp 16.13 Die »ComboBox« (Kombinationslistenfeld)
    gp 16.13.1 Ereignisse eines Kombinationslistenfeldes
    gp 16.13.2 Autovervollständigung in einer »ComboBox«


Galileo Computing

16.13 Die »ComboBox« (Kombinationslistenfeld)  downtop

Das Kombinationslistenfeld ist ein Steuerelement, das ein bisschen Textbox ist, ein bisschen Schaltfläche und auch ein wenig Listbox. Grundsätzlich ähnelt das Verhalten am ehesten noch einer Listbox mit dem Unterschied, dass in einer Combobox immer nur ein Listenelement ausgewählt werden kann. Es kann deshalb immer alternativ zu einer Listbox mit einfacher Auswahl eingesetzt werden und hat dabei den Vorteil, dass es in der Form nur so viel Platz wie eine Textbox beansprucht. Die Liste wird erst dann angezeigt, wenn auf die Pfeilschaltfläche geklickt wird.

Das Kombinationslistenfeld wird durch die Klasse ComboBox beschrieben. Comboboxen lassen drei Darstellungsarten zu. Die Eigenschaft, die darüber entscheidet, ist DropDownStyle, die vom Typ der Enumeration ComboBoxStyle ist.


Tabelle 16.15   Die Enumeration »ComboBoxStyle«

Member Beschreibung
Simple Das Kombinationslistenfeld wird wie eine Textbox angezeigt. Das Feld kann editiert werden.
DropDown Um die Liste zu zeigen, muss der Anwender auf die Schaltfläche klicken. Das angezeigte Feld kann editiert werden.
DropDownList Um die Liste zu zeigen, muss der Anwender auf die Schaltfläche klicken. Das angezeigte Feld kann nicht editiert werden.

Ziehen Sie ein Combobox aus der Toolbox in Ihr Formular, hat die Eigenschaft DropDownStyle die Einstellung DropDown. Der im Feld angezeigte Inhalt kann editiert werden.

Öffnet sich die Drop-down-Liste, werden per Vorgabe acht Elemente angezeigt. Ist die Liste länger, kann mit Bildlaufleisten durch die Liste navigiert werden. Mit der Eigenschaft MaxDropDownItems kann die angezeigte Anzahl zwischen 1 und 100 verändert werden.

Ähnlich präsentiert sich auch ein Kombinationslistenfeld mit ComboBoxStyle.DropDownList. Allerdings sind mit dieser Einstellung die Listeneinträge nicht editierbar.

ComboBoxStyle.Simple wird in der Praxis seltener eingesetzt. Mit dieser Einstellung zeigt das Steuerelement keine Pfeilschaltfläche, die Combobox sieht aus wie eine Textbox, unter der ein Listenfeld angehängt ist. Das in der Liste ausgewählte Element wird im Textbereich angezeigt. Über die Size-Eigenschaft kann die Höhe und somit auch die Anzahl der angezeigten Listenelemente beeinflusst werden.

Eine Combobox ähnelt einer Listbox mit einfacher Auswahl – nicht nur hinsichtlich der Funktionalität, auch die Programmierung unterscheidet sich nur unwesentlich. Wie eine Listbox weist auch eine Combobox die Eigenschaft Items auf, die eine Referenz auf die Auflistung ComboBox.ObjectCollection bereitstellt, in der alle Listenelemente der Combobox verwaltet werden. Auf die Referenz der ObjectCollection können die üblichen Methoden aufgerufen werden (Add, Remove usw.). Außerdem wird eine Eigenschaft DataSource zum Füllen einer Combobox mit dem Inhalt eines IList-Objekts angeboten (siehe dazu auch Abschnitt 16.11.6).

Zwei Eigenschaften der Combobox geben den Index bzw. die Referenz des ausgewählten Elements aus der Auflistung ComboBox.ObjectCollection zurück: SelectedIndex und SelectedItem. Die erste liefert den Index des ausgewählten Elements, die zweite die Referenz auf das Listenelement.

Füllen Sie eine Combobox während des Ladens der Form mit Daten, wird das Textfenster der Combobox bei der ersten Anzeige der Form kein Listenelement anzeigen. Sie sollten deshalb mit SelectedIndex oder SelectedItem sofort ein Listenelement anzeigen lassen, z.B.:


private void Form1_Load(object sender, EventArgs e) {
   comboBox1.Items.AddRange(new string[]{"Frankreich", "Schweiz", "Spanien", "Deutschland", "Italien"});
   // Starteintrag der Combobox
   comboBox1.SelectedItem = "Spanien";
}

Die Zeichenfolge des angezeigten Elements können Sie mit der Eigenschaft Text oder SelectedText abfragen. Beiden Eigenschaften kann auch eine Zeichenfolge übergeben werden, was dazu führt, dass der Text im Eingabefeld angezeigt wird – zumindest solange nicht ComboBoxStyle.DropDownList eingestellt ist. Beachten Sie aber, dass die so übergebene Zeichenfolge nicht automatisch zu den Listenelementen hinzugefügt wird. Dazu bedarf es der Add-Methode des ComboBox.ObjectCollection-Objekts.


Galileo Computing

16.13.1 Ereignisse eines Kombinationslistenfeldes  downtop

Im Gegensatz zu einer Listbox verfügt die Combobox über das Click-Ereignis. So wichtig dieses Ereignis für andere Steuerelemente wie eine Schaltfläche auch ist, bei einer Combobox gibt es wohl kaum eine Situation, bei der man dieses Ereignis sinnvoll einsetzen könnte, denn es wird sowohl beim Klicken der Pfeilschaltfläche ausgelöst als auch dann, wenn mit dem Mauszeiger in das Textfeld geklickt wird. Damit ist aber noch keine Auswahländerung oder auch nur die Änderung des angezeigten Textes verbunden.

Wichtig ist vielmehr das Ereignis, das eine Änderung des Inhalts des Textfeldes signalisiert: TextChanged. Die Ereignisauslösung kann zwei Ursachen haben:

gp  Der Benutzer hat eine Auswahl aus der Drop-down-Liste getroffen.
gp  Der Benutzer versucht, den im Eingabefeld angezeigten Text zu editieren. Das trifft jedoch nur auf die Comboboxen zu, die nicht vom Typ DropDownList sind.

Einschränkender und damit auch präziser verhält sich das Ereignis SelectedIndexChanged, das nur nach einer Änderung der Auswahl ausgelöst wird. Daher ist dieses Ereignis besonders dazu geeignet, anderen Komponenten die Neuauswahl mitzuteilen.

Aktionen, die beim Öffnen oder Schließen der Liste ausgeführt werden sollen, sind in den beiden Ereignissen DropDown bzw. DropDownClosed zu implementieren. Allerdings werden diese beiden Events nur ausgelöst, wenn das Kombinationslistenfeld nicht auf DropDownStyle=Simple eingestellt ist.


Galileo Computing

16.13.2 Autovervollständigung in einer »ComboBox«  toptop

Textboxen und Kombinationslistenfelder haben mit Einführung von .NET 2.0 die Fähigkeit der Autovervollständigung. Bei diesem Feature spielen die Eigenschaften AutoCompleteCustomSource, AutoCompleteMode und AutoCompleteSource die entscheidende Rolle. Wir hatten uns mit der Autovervollständigung bereits im Zusammenhang mit Textboxen genauer beschäftigt, wollen das Gesagte daher an dieser Stelle nicht wiederholen. Im Bedarfsfall lesen Sie einfach im Abschnitt 16.6.1 nach.

 << zurück
  
  Zum Katalog
Zum Katalog: Visual C# 2005
Visual C# 2005
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Fortgeschrittene Programmierung mit Visual C# 2005






 Fortgeschrittene
 Programmierung
 mit Visual C# 2005


Zum Katalog: Einstieg in Visual C# 2005






 Einstieg in
 Visual C# 2005


Zum Katalog: Einstieg in Visual Basic 2005






 Einstieg in
 Visual Basic 2005


Zum Katalog: Visual Basic 2005






 Visual Basic 2005


Zum Katalog: Java ist auch eine Insel






 Java ist auch eine
 Insel


Zum Katalog: Konzepte und Lösungen für Microsoft-Netzwerke






 Konzepte und
 Lösungen für
 Microsoft-Netzwerke


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo








Copyright © Galileo Press 2006
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de